home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CUCD / Programming / OUI / rcs / checkbox.cc < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  2.4 KB  |  116 lines

  1. head    1.2;
  2. access;
  3. symbols;
  4. locks
  5.     dlorre:1.2; strict;
  6. comment    @// @;
  7.  
  8.  
  9. 1.2
  10. date    97.07.14.04.22.34;    author dlorre;    state Exp;
  11. branches;
  12. next    1.1;
  13.  
  14. 1.1
  15. date    96.08.22.02.05.10;    author dlorre;    state Exp;
  16. branches;
  17. next    ;
  18.  
  19.  
  20. desc
  21. @Oui.lib -- Object User Interface
  22. Projet créé en 1994
  23. Auteur: Dominique Lorre
  24. @
  25.  
  26.  
  27. 1.2
  28. log
  29. @*** empty log message ***
  30. @
  31. text
  32. @// $Id$
  33.  
  34. #include <intuition/gadgetclass.h>
  35. #include <libraries/gadtools.h>
  36.  
  37. #include "gadgets/checkbox.h"
  38. #include "gadgetlist.h"
  39.  
  40. #include <proto/gadtools.h>
  41.  
  42. // ========================================================================
  43. // ==========================  CHECKBOX CLASS =============================
  44. // ========================================================================
  45.  
  46.  
  47. checkbox::checkbox(gadgetlist *gl,
  48.                   void (window::*func)(gadget *, unsigned long, unsigned short),
  49.                   const char *text, long checked, long place, BOOL disable) : gadget(gl, func)
  50. {
  51.     gl->ng->ng_GadgetText = (UBYTE *)text ;
  52.     underkey(text) ;
  53.     gl->ng->ng_Flags = place ;
  54.     cursel = checked ;
  55.  
  56.     gad = gl->gad = CreateGadget(CHECKBOX_KIND, gl->gad, gl->ng,
  57.             GTCB_Checked,   checked,
  58.             GTCB_Scaled,    TRUE,
  59.             GT_Underscore,  '_',
  60.             GA_Disabled,    disable,
  61.             TAG_END) ;
  62. }
  63.  
  64. void checkbox::set(long flag)
  65. {
  66.     cursel = flag ;
  67.     GT_SetGadgetAttrs(gad, w, NULL,
  68.         GTCB_Checked,   flag,
  69.         TAG_DONE) ;
  70. }
  71.  
  72. void checkbox::disable(BOOL flag)
  73. {
  74.     GT_SetGadgetAttrs(gad, w, NULL,
  75.         GA_Disabled,   flag,
  76.         TAG_DONE) ;
  77. }
  78.  
  79. void checkbox::action(unsigned long classe, unsigned short code)
  80. {
  81.     cursel = short(gad->Flags & GFLG_SELECTED) ;
  82.     gadget::action(classe, code) ;
  83. }
  84.  
  85. void checkbox::keystroke(BOOL shifted)
  86. {
  87.     cursel = !cursel ;
  88.     gadget::action(NULL, cursel) ;
  89.     GT_SetGadgetAttrs(gad, w, NULL, GTCB_Checked, cursel, TAG_DONE) ;
  90. }@
  91.  
  92.  
  93. 1.1
  94. log
  95. @Initial revision
  96. @
  97. text
  98. @d1 2
  99. d9 1
  100. a9 8
  101. extern "C" {
  102. extern struct Library *GadToolsBase ;
  103. struct Gadget *CreateGadget( unsigned long kind, struct Gadget *gad,
  104.         struct NewGadget *ng, Tag tag1, ... );
  105. void GT_SetGadgetAttrs( struct Gadget *gad, struct Window *win,
  106.         struct Requester *req, Tag tag1, ... );
  107. #include <pragmas/gadtools_pragmas.h>
  108. }
  109. d18 1
  110. a18 1
  111.                   STRPTR text, long checked, long place, BOOL disable) : gadget(gl, func)
  112. d20 1
  113. a20 1
  114.     gl->ng->ng_GadgetText = text ;
  115. @
  116.